home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / sendmail_decode.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  108 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10248);
  10.  script_version ("$Revision: 1.13 $");
  11.  script_cve_id("CVE-1999-0096");
  12.  
  13.  name["english"] = "Sendmail 'decode' flaw";
  14.  name["francais"] = "Sendmail : problΦme avec 'decode'";
  15.  script_name(english:name["english"],
  16.           francais:name["francais"]);
  17.  
  18.  desc["english"] = "
  19.  
  20. The remote SMTP server seems to pipe mail
  21. sent to the 'decode' alias to a program.
  22.  
  23. There have been in the past a lot of security 
  24. problems regarding this, as it would allow 
  25. an attacker to overwrite arbitrary files
  26. on the remote server.
  27.  
  28. We suggest you deactivate this alias.
  29.  
  30.  
  31. Solution : remove the 'decode' line in /etc/aliases.
  32.  
  33. Risk factor : High";
  34.  
  35.  
  36.  desc["francais"] = "
  37. Le serveur SMTP distant semble directement
  38. envoyer les mails adressΘs α l'alias 'decode'
  39. α un programme.
  40.  
  41. Il y a eut beaucoup de problΦmes α ce sujet
  42. dans le passΘ, puisque il Θtait possible
  43. pour un pirate d'effacer des fichiers
  44. arbitraires sur une machine ayant cette
  45. politique.
  46.  
  47. Il est recommandΘ que vous dΘsactiviez 
  48. cet alias.
  49.  
  50. Solution : retirez la ligne 'decode' dans /etc/aliases.
  51.  
  52. Facteur de risque : ElevΘ";
  53.  
  54.  script_description(english:desc["english"],
  55.               francais:desc["francais"]);
  56.             
  57.  
  58.  summary["english"] = "Checks if the remote mail server can be used to overwrite files"; 
  59.  summary["francais"] = "VΘrifie si le serveur de mail distant peut etre utilisΘ pour effacer des fichiers";
  60.  script_summary(english:summary["english"],
  61.           francais:summary["francais"]);
  62.  
  63.  script_category(ACT_GATHER_INFO);
  64.  
  65.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  66.            francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  67.  
  68.  family["english"] = "SMTP problems";
  69.  family["francais"] = "ProblΦmes SMTP";
  70.  script_family(english:family["english"], francais:family["francais"]);
  71.  script_dependencie("find_service.nes", "smtpserver_detect.nasl", "sendmail_expn.nasl");
  72.  script_require_keys("SMTP/expn", "SMTP/sendmail");
  73.  script_require_ports("Services/smtp", 25);
  74.  exit(0);
  75. }
  76.  
  77. #
  78. # The script code starts here
  79. #
  80.  
  81. include("smtp_func.inc");
  82.  
  83.  
  84. # We need the EXPN command to be available
  85.  
  86. expn = get_kb_item("SMTP/expn");
  87. if(!expn)exit(0);
  88.  
  89.  
  90. port = get_kb_item("Services/smtp");
  91. if(!port)port = 25;
  92. if(get_port_state(port))
  93. {
  94.  soc = open_sock_tcp(port);
  95.  if(soc)
  96.  {
  97.  data = smtp_recv_banner(socket:soc);
  98.  crp = string("EXPN decode\r\n");
  99.  send(socket:soc, data:crp);
  100.  data = recv_line(socket:soc, length:1024);
  101.  if(ereg(pattern:"^250 .*", string:data))
  102.  {
  103.   if("/bin" >< data)security_hole(port);
  104.  }
  105.  close(soc);
  106.  }
  107. }
  108.